home *** CD-ROM | disk | FTP | other *** search
/ The Original Shareware 1.1 / The Original Shareware (WeMake CDs)(Volume 1.1)(CDs, Inc)(1993).iso / 19 / window.zip / QWIK21.INC < prev    next >
Text File  |  1986-12-09  |  6KB  |  165 lines

  1. { Qwik21.inc - Complete Q screen utilities                  ver 2.1, 12-09-86 }
  2. { You MUST read MODIFICATIONS in QWIK21.DOC for any changes in this file!     }
  3.  
  4. type str80=string[80];
  5. var
  6.   Vmode: byte absolute $0040:$0049;
  7.   Page0seg,Qseg: integer;
  8.   MaxPage: byte;
  9.   CardWait,Qwait: boolean;
  10.  
  11. Function EGAcheck: Boolean;
  12. begin
  13. Inline( $B4/$12/$BB/$10/$FF/$CD/$10/$80/$EF/$FF/$74/$02/$B7/$01/$88/$7E/$04 );
  14. end;
  15.  
  16. procedure Qinit;
  17. begin
  18.   if Vmode=7 then
  19.     begin
  20.       Page0seg:=$B000; CardWait:=false; MaxPage:=0
  21.     end
  22.   else
  23.     begin
  24.       Page0seg:=$B800; CardWait:=true;
  25.       if (Vmode=0) or (Vmode=1) then MaxPage:=7 else MaxPage:=3
  26.     end;
  27.   if EGAcheck=true then
  28.   begin
  29.     MaxPage:=7; CardWait:=false
  30.   end;
  31.   Qseg:=Page0seg; Qwait:=CardWait
  32. end;
  33.  
  34. { ----------------------------- QWRITES MODULE ------------------------------ }
  35. procedure QwriteLV (Row, Col: byte; Attr, Length: integer; VAR St);
  36. begin
  37. Inline( $8B/$4E/<LENGTH/$85/$C9/$7E/$18/$1E/$C5/$76/<ST/$FC/$AC/$88/$C4/$8B/$56
  38.   /<ROW/$8B/$7E/<COL/$4F/$D1/$E7/$8B/$5E/<ATTR/$E8/$71/$00/$1F );
  39. end;
  40.  
  41. procedure QwriteV (Row, Col: byte; Attr: integer; VAR St);
  42. begin
  43. Inline( $1E/$C5/$76/<ST/$FC/$AD/$31/$C9/$00/$C1/$74/$0F/$8B/$56/<ROW/$8B/$7E
  44.   /<COL/$4F/$D1/$E7/$8B/$5E/<ATTR/$E8/$45/$00/$1F );
  45. end;
  46.  
  47. procedure Qwrite (Row, Col: byte; Attr: integer; St: Str80);
  48. begin
  49. Inline( $1E/$8D/$B6/>ST/$8C/$D2/$8E/$DA/$FC/$AD/$31/$C9/$00/$C1/$74/$12/$8B/$96
  50.   />ROW/$8B/$BE/>COL/$4F/$D1/$E7/$8B/$9E/>ATTR/$E8/$11/$00/$1F );
  51. end;
  52.  
  53. procedure QwritesDisp;
  54. begin
  55. Inline( $4A/$88/$E6/$31/$C0/$8E/$C0/$26/$A1/$4A/$04/$F6/$E2/$D1/$E0/$01/$C7/$88
  56.   /$DC/$88/$F0/$8E/$46/$FC/$26/$80/$3E/>QWAIT/$00/$26/$8E/$06/>QSEG/$75/$32/$84
  57.   /$FF/$78/$16/$41/$D1/$E9/$EB/$08/$AD/$88/$E7/$88/$DC/$AB/$88/$F8/$AB/$E2/$F5
  58.   /$73/$6C/$AC/$AB/$EB/$68/$41/$89/$CA/$D1/$E9/$EB/$05/$AD/$AA/$47/$88/$E0/$AA
  59.   /$47/$E2/$F7/$D1/$EA/$73/$54/$AC/$AA/$EB/$50/$BA/$DA/$03/$84/$FF/$78/$29/$88
  60.   /$DC/$EB/$01/$AC/$88/$C7/$FA/$EC/$A8/$08/$74/$09/$88/$F8/$80/$F9/$90/$78/$B7
  61.   /$EB/$0B/$D0/$D8/$72/$EE/$EC/$D0/$D8/$73/$FB/$88/$F8/$AB/$FB/$E2/$DF/$EB/$22
  62.   /$AC/$47/$88/$C7/$FA/$EC/$A8/$08/$74/$09/$88/$F8/$80/$F9/$80/$78/$A9/$EB/$0B
  63.   /$D0/$D8/$72/$EE/$EC/$D0/$D8/$73/$FB/$88/$F8/$AA/$FB/$E2/$DE/$FB/$C3 );
  64. end;
  65.  
  66. procedure QwriteC (Row, ColL, ColR: byte; Attr: integer; St: Str80);
  67. begin
  68. Inline( $1E/$8D/$B6/>ST/$8C/$D2/$8E/$DA/$FC/$AD/$31/$C9/$00/$C1/$74/$1A/$8B/$96
  69.   />ROW/$8B/$BE/>COLL/$03/$BE/>COLR/$4F/$29/$CF/$81/$E7/$FE/$FF/$8B/$9E/>ATTR
  70.   /$E8/$1E/$FF/$1F );
  71. end;
  72.  
  73. procedure QwriteCV (Row, ColL, ColR: byte; Attr: integer; VAR St);
  74. begin
  75. Inline( $1E/$C5/$76/<ST/$FC/$AD/$31/$C9/$00/$C1/$74/$16/$8B/$56/<ROW/$8B/$7E
  76.   /<COLL/$03/$7E/<COLR/$4F/$29/$CF/$81/$E7/$FE/$FF/$8B/$5E/<ATTR/$E8/$EB/$FE
  77.   /$1F );
  78. end;
  79.  
  80. { ------------------------------ QFILLS MODULE ------------------------------ }
  81. procedure QfillC (Row, ColL, ColR, Rows, Cols: byte; Attr: integer; Ch: char);
  82. begin
  83. Inline( $8B/$46/<ROW/$8B/$7E/<COLL/$03/$7E/<COLR/$4F/$8B/$76/<ROWS/$8B/$4E
  84.   /<COLS/$29/$CF/$81/$E7/$FE/$FF/$8B/$5E/<ATTR/$8A/$6E/<CH/$E8/$38/$00 );
  85. end;
  86.  
  87. procedure Qfill (Row, Col, Rows, Cols: byte; Attr: integer; Ch: char);
  88. begin
  89. Inline( $8B/$46/<ROW/$8B/$7E/<COL/$4F/$D1/$E7/$8B/$76/<ROWS/$8A/$4E/<COLS/$8B
  90.   /$5E/<ATTR/$8A/$6E/<CH/$E8/$10/$00 );
  91. end;
  92.  
  93. procedure QfillsDisp;
  94. begin
  95. Inline( $48/$31/$D2/$8E/$C2/$26/$8B/$16/$4A/$04/$F6/$E2/$D1/$E0/$01/$C7/$88/$E8
  96.   /$30/$ED/$29/$CA/$D1/$E2/$52/$51/$85/$F6/$7E/$31/$85/$C9/$7E/$2D/$88/$DC/$FC
  97.   /$3A/$2E/>QWAIT/$8E/$06/>QSEG/$75/$29/$84/$FF/$78/$0E/$89/$CA/$F2/$AB/$4E/$74
  98.   /$15/$89/$D1/$03/$7E/$FA/$EB/$F4/$41/$89/$CA/$D1/$E9/$73/$02/$AA/$47/$AA/$47
  99.   /$E2/$FA/$4E/$7E/$58/$89/$D1/$03/$7E/$FA/$EB/$EC/$BA/$DA/$03/$88/$C3/$84/$FF
  100.   /$78/$27/$FA/$EC/$A8/$08/$74/$07/$88/$D8/$F2/$AB/$FB/$EB/$0F/$D0/$D8/$72/$F0
  101.   /$EC/$D0/$D8/$73/$FB/$88/$D8/$AB/$FB/$E2/$E4/$4E/$74/$29/$8B/$4E/$F8/$03/$7E
  102.   /$FA/$EB/$D9/$FA/$EC/$A8/$08/$75/$09/$D0/$D8/$72/$F7/$EC/$D0/$D8/$73/$FB/$88
  103.   /$D8/$AA/$FB/$47/$E2/$EA/$4E/$74/$08/$8B/$4E/$F8/$03/$7E/$FA/$EB/$DF/$81/$C4
  104.   /$04/$00/$C3 );
  105. end;
  106.  
  107. procedure Qattr (Row, Col, Rows, Cols: byte; Attr: integer);
  108. begin
  109. Inline( $8B/$46/<ROW/$8B/$7E/<COL/$4F/$D1/$E7/$47/$8B/$76/<ROWS/$8A/$4E/<COLS
  110.   /$8B/$5E/<ATTR/$84/$FF/$78/$07/$88/$DD/$B7/$80/$E8/$26/$FF );
  111. end;
  112.  
  113. procedure QattrC (Row, ColL, ColR, Rows, Cols: byte; Attr: integer);
  114. begin
  115. Inline( $8B/$46/<ROW/$8B/$7E/<COLL/$03/$7E/<COLR/$4F/$8B/$76/<ROWS/$8B/$4E
  116.   /<COLS/$29/$CF/$81/$CF/$01/$00/$8B/$5E/<ATTR/$84/$FF/$78/$07/$88/$DD/$B7/$80
  117.   /$E8/$F2/$FE );
  118. end;
  119. { --------------------------------------------------------------------------- }
  120.  
  121. procedure QstoreToMem (Row, Col, Rows, Cols: byte; VAR Dest);
  122. begin
  123. Inline( $8B/$5E/<ROWS/$8B/$4E/<COLS/$85/$DB/$7E/$63/$85/$C9/$7E/$5F/$31/$D2/$8E
  124.   /$C2/$26/$8A/$16/$4A/$04/$8B/$46/<ROW/$48/$F6/$E2/$89/$C6/$03/$76/<COL/$4E
  125.   /$D1/$E6/$29/$CA/$D1/$E2/$52/$51/$1E/$FC/$C4/$7E/<DEST/$3A/$2E/>QWAIT/$8E/$1E
  126.   />QSEG/$75/$0C/$F2/$A5/$4B/$74/$29/$8B/$4E/$FA/$01/$D6/$EB/$F4/$BA/$DA/$03
  127.   /$FA/$EC/$A8/$08/$75/$09/$D0/$D8/$72/$F7/$EC/$D0/$D8/$73/$FB/$AD/$FB/$AB/$E2
  128.   /$EC/$4B/$74/$08/$8B/$4E/$FA/$03/$76/$FC/$EB/$E1/$1F/$81/$C4/$04/$00 );
  129. end;
  130.  
  131. procedure QstoreToScr (Row, Col, Rows, Cols: byte; VAR Source);
  132. begin
  133. Inline( $8B/$5E/<ROWS/$8B/$4E/<COLS/$85/$DB/$7E/$68/$85/$C9/$7E/$64/$31/$D2/$8E
  134.   /$C2/$26/$8A/$16/$4A/$04/$8B/$46/<ROW/$48/$F6/$E2/$89/$C7/$03/$7E/<COL/$4F
  135.   /$D1/$E7/$29/$CA/$D1/$E2/$52/$51/$1E/$FC/$3A/$2E/>QWAIT/$8E/$06/>QSEG/$C5/$76
  136.   /<SOURCE/$75/$0C/$F2/$A5/$4B/$74/$2E/$8B/$4E/$FA/$01/$D7/$EB/$F4/$BA/$DA/$03
  137.   /$AD/$88/$C7/$FA/$EC/$A8/$08/$75/$09/$D0/$D8/$72/$F7/$EC/$D0/$D8/$73/$FB/$88
  138.   /$F8/$AB/$FB/$E2/$E8/$FE/$CB/$74/$08/$8B/$4E/$FA/$03/$7E/$FC/$EB/$DC/$1F/$81
  139.   /$C4/$04/$00 );
  140. end;
  141.  
  142. procedure QviewPage (Page: byte);
  143. begin
  144. Inline( $8B/$46/<PAGE/$38/$06/>MAXPAGE/$78/$08/$84/$C0/$78/$04/$B4/$05/$CD
  145.   /$10);
  146. end;
  147.  
  148. procedure QwritePage (Page: byte);
  149. begin
  150. Inline( $8B/$46/<PAGE/$38/$06/>MAXPAGE/$78/$18/$84/$C0/$78/$14/$31/$C9/$8E/$C1
  151.   /$26/$F7/$26/$4C/$04/$B1/$04/$D3/$E8/$03/$06/>PAGE0SEG/$A3/>QSEG );
  152. end;
  153.  
  154. procedure GotoRC (Row, Col: Byte);
  155. begin
  156. Inline( $B4/$02/$31/$DB/$8E/$C3/$26/$8A/$3E/$62/$04/$8A/$76/<ROW/$FE/$CE/$8A
  157.   /$56/<COL/$FE/$CA/$CD/$10 );
  158. end;
  159.  
  160. procedure CursorChange (New: integer; VAR Old: integer);
  161. begin
  162. Inline( $31/$C0/$8E/$C0/$26/$A1/$60/$04/$C4/$7E/<OLD/$AB/$B4/$01/$8B/$4E/<NEW
  163.   /$CD/$10 );
  164. end;
  165.